// Datei: TableViewController.java
package controller;

import model.*;
import view.*;

public class TableViewController
{
   private AbstractDataModel m_model;
   private AbstractTableView m_tableView;

   public TableViewController (AbstractDataModel model, AbstractTableView tableView)
   {
      m_tableView = tableView;
      m_model = model;
   }

   public void setValues (String red, String green, String blue)
   {
      int r = 0;
      int b = 0;
      int g = 0;
      boolean error = false;
      m_tableView.clearError();
      
      try
      {
         b = Integer.parseInt (blue);
         g = Integer.parseInt (green);
         r = Integer.parseInt (red);
      } 
      catch (NumberFormatException e)
      {
    	 error = true;
    	 
    	 // Schritt 3: Benachrichtige TableView ueber Fehler
         m_tableView.setError(e.toString());
      }

      if ( r < 0 || g < 0 || b < 0 )
      {
    	  error = true;
    	  
    	  // Schritt 3: Benachrichtige TableView ueber Fehler
    	  m_tableView.setError("One or two Values lower than 0");
      }
         
      if (!error && (r > 0 || g > 0 || b > 0))
      {
    	  // Schritt 4: Aendere Modell
          m_model.setBlueValue(b);
          m_model.setGreenValue(g);
          m_model.setRedValue(r);
      }
   }
}
